package com.ruoyi.users.mapper;

import java.util.List;

import com.ruoyi.tracks.domain.Tracks;
import com.ruoyi.users.domain.UserTopTags;

/**
 * 用户ToptagMapper接口
 * 
 * @author lin
 * @date 2025-03-10
 */
public interface UserTopTagsMapper 
{
    /**
     * 查询用户Toptag
     * 
     * @param userId 用户Toptag主键
     * @return 用户Toptag
     */
    public List<UserTopTags> selectUserTopTagsByUserId(Long userId);

    /**
     * 查询用户Toptag列表
     * 
     * @param userTopTags 用户Toptag
     * @return 用户Toptag集合
     */
    public List<UserTopTags> selectUserTopTagsList(UserTopTags userTopTags);

    /**
     * 新增用户Toptag
     * 
     * @param userTopTags 用户Toptag
     * @return 结果
     */
    public int insertUserTopTags(UserTopTags userTopTags);

    /**
     * 修改用户Toptag
     * 
     * @param userTopTags 用户Toptag
     * @return 结果
     */
    public int updateUserTopTags(UserTopTags userTopTags);

    /**
     * 删除用户Toptag
     * 
     * @param userId 用户Toptag主键
     * @return 结果
     */
    public int deleteUserTopTagsByUserId(Long userId);

    /**
     * 批量删除用户Toptag
     * 
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUserTopTagsByUserIds(Long[] userIds);

    /**
     * 查询带有特定标签的歌曲并按播放次数倒序排序
     *
     * @param tagId 标签ID
     * @return 歌曲列表
     */
    List<Tracks> selectSongsByTagId(Long tagId);
}
